<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //普通函数就是谁调用this指向谁，
        //严格模式下普通函数this指向 UNdifind
        // 箭头函数没有this 它是找上一级或最近的this

      const OBJ={
        name:"胡歌"
      }

        function get(x, y) {
            console.log(this);//本来指向window
            return x + y
        }
        // call 改变this指向（OBJ） 后面传递的就是函数参数  会调用函数
        get.call(OBJ, 2, 4)


        function set(x, y) {
            console.log(this);//本来指向window
            return x + y
        }
        // apply (this指向谁，数组参数[]) 会调用函数
        set.apply(OBJ,[1,2])


        function aet(x, y) {
            console.log(this);
            return x + y
        }
        // 不会调用函数，但可以改变this指向（推荐使用记住
        let fu=aet.bind(OBJ)//把this改变指向为OBJ
        fu()
    </script>
</body>

</html>